﻿#pragma once
#include "OpenGL缓冲区类标头.h"
#include "OpenGL着色器类标头.h"
//extern class VertexArray;   // 这种包含是不完整的类
//extern class IndexBuffer;
//extern class Shader;

/*
渲染器就是将顶点数据等渲染到屏幕上的过程，它包含三个主要的步骤：
	1. 绑定顶点缓冲区
	2. 绑定着色器[、绑定纹理可选]
	3. 绘制
*/

class Renderer
{
private:
	//OpenGL缓冲区对象
	//VertexBufferObject m_VBO;
	//IndexBufferObject m_IBO;

	//OpenGL着色器对象
	//Shader m_Shader;

public:
	/*Renderer();
	~Renderer();*/

	void clear() const;

	void draw(const VertexArray& va, const IndexBuffer& ib, const Shader& sd);
};